import { Activity, ExecutiveContext, State } from "./defination"
import { Dealer, EntityIdentifier } from "./entity"

export type GraphAction = (dealer:Dealer,state:State,activity:Activity,context:ExecutiveContext)=>unknown
export interface Graph {
  id?: EntityIdentifier
  name?: string
  path?:string
  description?: string
  auth?: string | GraphAction
  AUTH?: GraphAction
  enter?: string | GraphAction
  ENTER?: GraphAction
  deal?: string | GraphAction
  exit?: string | GraphAction
  EXIT?: GraphAction
  nexts?: string[] | Record<string,string> | Record<string,Record<string,unknown>>
  activities?: Record<string,Graph>
  
  
}
